+2000-12-30 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkwindow-win32.c
+ (gdk_window_impl_win32_get_visible_region): New function, as in
+ the X11 backend.
+ (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
+ instead of duplicating the same code here.
+
+ * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
+ GDK_COLORMAP macro.
+
+ * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
+ destroy function.
+ (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
+ access that.
+
+ * gtk/gtk.def: Update.
+
+ * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
+
2000-12-30 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
colormap on input only windows, to avoid special cases all over
the code for these windows.
+2000-12-26 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
+ we are on a palettized display ("PseudoColor" in X11), as the code
+ for that doesn't work anyway, and never has.
+
2000-12-22 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
+2000-12-30 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkwindow-win32.c
+ (gdk_window_impl_win32_get_visible_region): New function, as in
+ the X11 backend.
+ (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
+ instead of duplicating the same code here.
+
+ * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
+ GDK_COLORMAP macro.
+
+ * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
+ destroy function.
+ (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
+ access that.
+
+ * gtk/gtk.def: Update.
+
+ * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
+
2000-12-30 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
colormap on input only windows, to avoid special cases all over
the code for these windows.
+2000-12-26 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
+ we are on a palettized display ("PseudoColor" in X11), as the code
+ for that doesn't work anyway, and never has.
+
2000-12-22 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
+2000-12-30 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkwindow-win32.c
+ (gdk_window_impl_win32_get_visible_region): New function, as in
+ the X11 backend.
+ (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
+ instead of duplicating the same code here.
+
+ * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
+ GDK_COLORMAP macro.
+
+ * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
+ destroy function.
+ (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
+ access that.
+
+ * gtk/gtk.def: Update.
+
+ * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
+
2000-12-30 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
colormap on input only windows, to avoid special cases all over
the code for these windows.
+2000-12-26 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
+ we are on a palettized display ("PseudoColor" in X11), as the code
+ for that doesn't work anyway, and never has.
+
2000-12-22 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
+2000-12-30 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkwindow-win32.c
+ (gdk_window_impl_win32_get_visible_region): New function, as in
+ the X11 backend.
+ (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
+ instead of duplicating the same code here.
+
+ * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
+ GDK_COLORMAP macro.
+
+ * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
+ destroy function.
+ (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
+ access that.
+
+ * gtk/gtk.def: Update.
+
+ * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
+
2000-12-30 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
colormap on input only windows, to avoid special cases all over
the code for these windows.
+2000-12-26 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
+ we are on a palettized display ("PseudoColor" in X11), as the code
+ for that doesn't work anyway, and never has.
+
2000-12-22 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
+2000-12-30 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkwindow-win32.c
+ (gdk_window_impl_win32_get_visible_region): New function, as in
+ the X11 backend.
+ (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
+ instead of duplicating the same code here.
+
+ * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
+ GDK_COLORMAP macro.
+
+ * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
+ destroy function.
+ (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
+ access that.
+
+ * gtk/gtk.def: Update.
+
+ * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
+
2000-12-30 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
colormap on input only windows, to avoid special cases all over
the code for these windows.
+2000-12-26 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
+ we are on a palettized display ("PseudoColor" in X11), as the code
+ for that doesn't work anyway, and never has.
+
2000-12-22 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
+2000-12-30 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkwindow-win32.c
+ (gdk_window_impl_win32_get_visible_region): New function, as in
+ the X11 backend.
+ (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
+ instead of duplicating the same code here.
+
+ * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
+ GDK_COLORMAP macro.
+
+ * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
+ destroy function.
+ (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
+ access that.
+
+ * gtk/gtk.def: Update.
+
+ * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
+
2000-12-30 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
colormap on input only windows, to avoid special cases all over
the code for these windows.
+2000-12-26 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
+ we are on a palettized display ("PseudoColor" in X11), as the code
+ for that doesn't work anyway, and never has.
+
2000-12-22 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
+2000-12-30 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkwindow-win32.c
+ (gdk_window_impl_win32_get_visible_region): New function, as in
+ the X11 backend.
+ (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
+ instead of duplicating the same code here.
+
+ * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
+ GDK_COLORMAP macro.
+
+ * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
+ destroy function.
+ (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
+ access that.
+
+ * gtk/gtk.def: Update.
+
+ * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
+
2000-12-30 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
colormap on input only windows, to avoid special cases all over
the code for these windows.
+2000-12-26 Tor Lillqvist <tml@iki.fi>
+
+ * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
+ we are on a palettized display ("PseudoColor" in X11), as the code
+ for that doesn't work anyway, and never has.
+
2000-12-22 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
+2000-12-30 Tor Lillqvist <tml@iki.fi>
+
+ * gdk_pixbuf.def: Update.
+
2000-12-16 Havoc Pennington <hp@pobox.com>
* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
gdk_pixbuf_copy
gdk_pixbuf_copy_area
gdk_pixbuf_error_quark
+ gdk_pixbuf_frame_copy
+ gdk_pixbuf_frame_free
gdk_pixbuf_frame_get_action
gdk_pixbuf_frame_get_delay_time
gdk_pixbuf_frame_get_pixbuf
+ gdk_pixbuf_frame_get_type
gdk_pixbuf_frame_get_x_offset
gdk_pixbuf_frame_get_y_offset
gdk_pixbuf_get_bits_per_sample
gdk_event_prepare,
gdk_event_check,
gdk_event_dispatch,
- (GDestroyNotify)g_free
+ NULL
};
GPollFD event_poll_fd;
if (GDK_WINDOW_DESTROYED (window))
break;
- colormap_private = (GdkColormapPrivateWin32 *) GDK_DRAWABLE_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl)->colormap;
+ colormap_private = GDK_COLORMAP_PRIVATE_DATA (GDK_DRAWABLE_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl)->colormap);
hdc = (HDC) msg->wParam;
if (colormap_private && colormap_private->xcolormap->rc_palette)
{
bmi.u.bmiColors[1].rgbRed = 0xFF;
bmi.u.bmiColors[1].rgbReserved = 0x00;
draw_impl->colormap = NULL;
+ GDK_NOTE (MISC, g_print ("... colormap NULL\n"));
}
else
{
draw_impl->colormap = GDK_DRAWABLE_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl)->colormap;
if (draw_impl->colormap == NULL)
draw_impl->colormap = gdk_colormap_get_system ();
+ GDK_NOTE (MISC, g_print ("... colormap %p\n", draw_impl->colormap));
if (depth == 8)
{
if (rastercaps & RC_PALETTE)
{
+ g_error ("Palettized display (%d-colour) mode not supported on Windows.",
+ GetDeviceCaps (gdk_display_hdc, SIZEPALETTE));
system_visual->visual.type = GDK_VISUAL_PSEUDO_COLOR;
numcolors = GetDeviceCaps (gdk_display_hdc, NUMCOLORS);
sizepalette = GetDeviceCaps (gdk_display_hdc, SIZEPALETTE);
#define GDK_PIXMAP_HBITMAP(pixmap) (GDK_DRAWABLE_IMPL_WIN32(((GdkPixmapObject *)pixmap)->impl)->handle)
#define GDK_DRAWABLE_HANDLE(win) (GDK_IS_WINDOW (win) ? (GDK_WINDOW_HWND (win)) : (GDK_PIXMAP_HBITMAP (win)))
#define GDK_IMAGE_HBM(image) (((GdkImagePrivateWin32 *) GDK_IMAGE (image)->windowing_data)->hbm)
-#define GDK_COLORMAP_PRIVATE_DATA(cmap) ((GdkColormapPrivateWin32 *) cmap->windowing_data)
+#define GDK_COLORMAP_PRIVATE_DATA(cmap) ((GdkColormapPrivateWin32 *) GDK_COLORMAP (cmap)->windowing_data)
#define GDK_COLORMAP_WIN32COLORMAP(cmap) (((GdkColormapPrivateWin32 *)GDK_COLORMAP (cmap)->windowing_data)->xcolormap)
#define GDK_VISUAL_XVISUAL(vis) (((GdkVisualPrivate *) vis)->xvisual)
static void gdk_window_impl_win32_get_size (GdkDrawable *drawable,
gint *width,
gint *height);
+static GdkRegion* gdk_window_impl_win32_get_visible_region (GdkDrawable *drawable);
static void gdk_window_impl_win32_init (GdkWindowImplWin32 *window);
static void gdk_window_impl_win32_class_init (GdkWindowImplWin32Class *klass);
static void gdk_window_impl_win32_finalize (GObject *object);
drawable_class->set_colormap = gdk_window_impl_win32_set_colormap;
drawable_class->get_colormap = gdk_window_impl_win32_get_colormap;
drawable_class->get_size = gdk_window_impl_win32_get_size;
+
+ /* Visible and clip regions are the same */
+ drawable_class->get_clip_region = gdk_window_impl_win32_get_visible_region;
+ drawable_class->get_visible_region = gdk_window_impl_win32_get_visible_region;
}
static void
*height = GDK_WINDOW_IMPL_WIN32 (drawable)->height;
}
+static GdkRegion*
+gdk_window_impl_win32_get_visible_region (GdkDrawable *drawable)
+{
+ GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (drawable);
+ GdkRectangle result_rect;
+
+ result_rect.x = 0;
+ result_rect.y = 0;
+ result_rect.width = impl->width;
+ result_rect.height = impl->height;
+
+ gdk_rectangle_intersect (&result_rect, &impl->position_info.clip_rect, &result_rect);
+
+ return gdk_region_rectangle (&result_rect);
+}
+
void
_gdk_windowing_window_init (void)
{
int width, height;
int x, y;
char *title;
- gint titlelen;
- wchar_t *wctitle;
- gint wlen;
char *mbtitle;
g_return_val_if_fail (attributes != NULL, NULL);
g_return_val_if_fail (GDK_IS_WINDOW (parent), NULL);
+ GDK_NOTE (MISC,
+ g_print ("gdk_window_new: %s\n",
+ (attributes->window_type == GDK_WINDOW_TOPLEVEL ? "TOPLEVEL" :
+ (attributes->window_type == GDK_WINDOW_CHILD ? "CHILD" :
+ (attributes->window_type == GDK_WINDOW_DIALOG ? "DIALOG" :
+ (attributes->window_type == GDK_WINDOW_TEMP ? "TEMP" :
+ "???"))))));
+
parent_private = (GdkWindowObject*) parent;
if (GDK_WINDOW_DESTROYED (parent))
return NULL;
title = attributes->title;
else
title = g_get_prgname ();
- if (!title)
+ if (!title || !*title)
title = "GDK client window";
impl->event_mask = GDK_STRUCTURE_MASK | attributes->event_mask;
{
if ((((GdkVisualPrivate*)gdk_visual_get_system ())->xvisual) == xvisual)
{
- draw_impl->colormap =
- gdk_colormap_get_system ();
+ draw_impl->colormap = gdk_colormap_get_system ();
gdk_colormap_ref (draw_impl->colormap);
+ GDK_NOTE (MISC, g_print ("...using system colormap %p\n",
+ draw_impl->colormap));
}
else
{
- draw_impl->colormap =
- gdk_colormap_new (visual, FALSE);
+ draw_impl->colormap = gdk_colormap_new (visual, FALSE);
+ GDK_NOTE (MISC, g_print ("...using new colormap %p\n",
+ draw_impl->colormap));
}
}
}
private->depth = 0;
private->input_only = TRUE;
draw_impl->colormap = NULL;
+ GDK_NOTE (MISC, g_print ("...GDK_INPUT_ONLY, NULL colormap\n"));
}
if (parent_private)
height = impl->height;
}
- titlelen = strlen (title);
- wctitle = g_new (wchar_t, titlelen + 1);
- mbtitle = g_new (char, 3*titlelen + 1);
- wlen = gdk_nmbstowchar_ts (wctitle, title, titlelen, titlelen);
- wctitle[wlen] = 0;
- WideCharToMultiByte (GetACP (), 0, wctitle, -1,
- mbtitle, 3*titlelen, NULL, NULL);
+ mbtitle = g_locale_from_utf8 (title, NULL);
#ifdef WITHOUT_WM_CREATE
draw_impl->handle = CreateWindowEx (dwExStyle,
#endif
GDK_NOTE (MISC,
- g_print ("gdk_window_new: %s %s %dx%d@+%d+%d %#x = %#x\n"
- "...locale %#x codepage %d\n",
- (private->window_type == GDK_WINDOW_TOPLEVEL ? "TOPLEVEL" :
- (private->window_type == GDK_WINDOW_CHILD ? "CHILD" :
- (private->window_type == GDK_WINDOW_DIALOG ? "DIALOG" :
- (private->window_type == GDK_WINDOW_TEMP ? "TEMP" :
- "???")))),
+ g_print ("... \"%s\" %dx%d@+%d+%d %#x = %#x\n"
+ "... locale %#x codepage %d\n",
mbtitle,
width, height, (x == CW_USEDEFAULT ? -9999 : x), y,
(guint) hparent,
(guint) impl->charset_info.ciACP));
g_free (mbtitle);
- g_free (wctitle);
if (draw_impl->handle == NULL)
{
gdk_window_set_title (GdkWindow *window,
const gchar *title)
{
- gint titlelen;
- wchar_t *wcstr;
- gint wlen;
- char *mbstr;
+ char *mbtitle;
g_return_if_fail (window != NULL);
g_return_if_fail (GDK_IS_WINDOW (window));
/* As the title is in UTF-8 we must translate it
* to the system codepage.
*/
- titlelen = strlen (title);
- wcstr = g_new (wchar_t, titlelen + 1);
- mbstr = g_new (char, 3*titlelen + 1);
- wlen = gdk_nmbstowchar_ts (wcstr, title, titlelen, titlelen);
- wcstr[wlen] = 0;
- WideCharToMultiByte (GetACP (), 0, wcstr, -1,
- mbstr, 3*titlelen, NULL, NULL);
-
- if (!SetWindowText (GDK_WINDOW_HWND (window), mbstr))
+ mbtitle = g_locale_from_utf8 (title, NULL);
+ if (!SetWindowText (GDK_WINDOW_HWND (window), mbtitle))
WIN32_API_FAILED ("SetWindowText");
- g_free (mbstr);
- g_free (wcstr);
+ g_free (mbtitle);
}
}
gtk_marshal_VOID__ENUM
gtk_marshal_VOID__ENUM_FLOAT
gtk_marshal_VOID__ENUM_FLOAT_BOOLEAN
- gtk_marshal_VOID__INT
gtk_marshal_VOID__INT_INT
gtk_marshal_VOID__INT_INT_INT
gtk_marshal_VOID__INT_INT_INT_INT
gtk_marshal_VOID__INT_INT_POINTER
- gtk_marshal_VOID__POINTER
gtk_marshal_VOID__POINTER_BOOLEAN
gtk_marshal_VOID__POINTER_INT
gtk_marshal_VOID__POINTER_INT_INT_POINTER_UINT_UINT
gtk_marshal_VOID__POINTER_UINT_ENUM
gtk_marshal_VOID__POINTER_UINT_FLAGS
gtk_marshal_VOID__POINTER_UINT_UINT
- gtk_marshal_VOID__UINT
- gtk_marshal_VOID__UINT_POINTER
gtk_marshal_VOID__UINT_POINTER_UINT_ENUM_ENUM_POINTER
gtk_marshal_VOID__UINT_POINTER_UINT_FLAGS_FLAGS
gtk_marshal_VOID__UINT_POINTER_UINT_UINT_ENUM
- gtk_marshal_VOID__VOID
gtk_menu_attach_to_widget
gtk_menu_bar_append
gtk_menu_bar_get_type
DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) $(INTL_CFLAGS)
DEFINES = -DGTK_DISABLE_COMPAT_H -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" -DGTK_VERSION=\"@GTK_VERSION@\"
+GLIB_GENMARSHAL = $(GLIB)/gobject/glib-genmarshal.exe
+
all : \
../config.h \
generated \
$(PERL) makeenums.pl arrays $(gtk_public_h_sources) $(gdk_headers) >gtktypebuiltins_evals.c
gtkmarshal.h : gtkmarshal.list
- glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --header >gtkmarshal.h
+ $(GLIB_GENMARSHAL) --prefix=gtk_marshal gtkmarshal.list --header >gtkmarshal.h
gtkmarshal.c : gtkmarshal.list
- glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --body >gtkmarshal.c
+ $(GLIB_GENMARSHAL) --prefix=gtk_marshal gtkmarshal.list --body >gtkmarshal.c
#
# Linking: